package com.liu.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.liu.bo.TicketsCartBo;
import com.liu.dao.TicketsCartDao;
import com.liu.dao.TicketsDao;
import com.liu.entity.TicketsCart;
import com.liu.service.intf.TicketsCartService;
import com.liu.vo.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　 ┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　  ┃
 * 　　┃　　　　　　 ┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━永无BUG!━━━━━━
 *
 * @Description:
 * @Author: 邢朋辉
 * @Date: 2022/4/20 15:19
 */
@Service
public class TicketsCartServiceImpl implements TicketsCartService {
    @Resource
    private TicketsCartDao dao;

    @Override
    public R save(TicketsCartBo bo) {
        //1.验证参数
        if(bo!=null){
            //加入购物车 1.不存在 新增 2.存在 修改
            //2.查询 指定用户下，是否存在商品
            TicketsCart  cart=dao.selectOne(new QueryWrapper<TicketsCart>().eq("gid",bo.getGid()).eq("uid",bo.getUid()));

            //3.验证是否存在
            if(cart==null){
                //4.新增数据
                cart=new TicketsCart(bo.getUid(),bo.getGid(),1,bo.getPrice());
                dao.insert(cart);

                return R.ok();
            }else {

                //5.修改 数据
                cart.setNum(cart.getNum()+1);
                dao.updateById(cart);
                return R.ok();
            }
        }
        return R.fail("网络异常！");
    }

    @Override
    public R queryMy(int uid) {
        //1.验证
        if(uid>0){
            //2.查询
            return R.ok(dao.selectCarts(uid));
        }
        return R.fail("网络异常！");
    }

//    @Override
//    public R changeNum(int id, int num) {
//        //1.验证
//        if(id>0& num>0){
//            dao.updateNum(id, num);
//            return R.ok();
//        }
//        return R.fail("网络异常！");
//    }
//
//    @Override
//    public R del(int id) {
//        //验证
//        if(id>0){
//            //删除
//            dao.deleteById(id);
//            return R.ok();
//        }
//        return R.fail("网络异常！");
//    }
}
